from gpt4all import GPT4All

# 查看所有可用的模型（包括已安装和可下载的）
print("=== 所有可用模型 ===")
all_models = GPT4All.list_models()
for model in all_models:
    print(f"名称: {model['name']}")
    print(f"描述: {model.get('description', '无描述')}")
    print(f"大小: {model.get('filesize', '未知')}")
    print(f"下载量: {model.get('downloadCount', '未知')}")
    print(f"参数: {model.get('parameters', '未知')}")
    print("-" * 50)

# 查看已安装的模型
print("\n=== 已安装的模型 ===")
try:
    # 获取默认模型目录
    import os
    from gpt4all import GPT4All

    # 默认模型路径
    default_path = GPT4All.get_model_path()
    print(f"默认模型路径: {default_path}")

    # 列出该目录下的所有文件
    if os.path.exists(default_path):
        installed_models = os.listdir(default_path)
        print("已安装的模型文件:")
        for model_file in installed_models:
            file_path = os.path.join(default_path, model_file)
            file_size = os.path.getsize(file_path) / (1024 * 1024 * 1024)  # 转换为GB
            print(f"  - {model_file} ({file_size:.2f} GB)")
    else:
        print("模型目录不存在")

except Exception as e:
    print(f"检查已安装模型时出错: {e}")